package controlador;

import javax.swing.JOptionPane;

import modelo.Juego;

import vista.VentanaAplicacion;
import vista.VentanaPrincipal;
import vista.VistaEleccionDeNivel;

/**
 * La clase <b>BotonNuevaPartida</b> heredada de Boton pide datos al usuario, 
 * su nombre, para iniciar un juego nuevo.
 * 
 */
public class BotonNuevaPartida extends Boton {

	public BotonNuevaPartida(String url,int width,int height) {
		super(url,width,height);
	}

	private boolean isNombreVacio(String nombre) {

		for (int i = 0; i < nombre.length(); i++)
			if (nombre.charAt(i) != ' ')
				return false;

		return true;

	}

	protected void oprimir() {

		String nombre = "";

		int resultado = JOptionPane.CANCEL_OPTION;

		while (nombre == "") {

			nombre = JOptionPane
					.showInputDialog("Ingrese el nombre del usuario");

			if (nombre == null) {

				return;

			} else if (nombre == "" || isNombreVacio(nombre)) {

				JOptionPane.showMessageDialog(null,
						"No ha ingresado ningun nombre.\n"
								+ "Intentelo nuevamente.");

				nombre = "";

			} else {

				resultado = JOptionPane.showConfirmDialog(null,
						"Confirma que su nombre de usuario sera "
								+ nombre.toUpperCase()
								+ "?",
						"Confirme su nombre", JOptionPane.YES_NO_OPTION);

				if (resultado == JOptionPane.NO_OPTION)
					nombre = "";

			}

		}

		if (resultado == JOptionPane.YES_OPTION) {
			
			
			Juego.obtenerJuego().setUsuario(nombre);
			VentanaAplicacion.obtenerVentana().setContentPane(new VistaEleccionDeNivel());

		}

	}

}
